home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vbdatabs / strutil.h < prev    next >
C/C++ Source or Header  |  1999-03-29  |  3KB  |  83 lines

  1. // ------------------------------- //
  2. // -------- Start of File -------- //
  3. // ------------------------------- //
  4. // ----------------------------------------------------------- //
  5. // C++ Header File Name: strutil.h
  6. // Compiler Used: MSVC40, DJGPP 2.7.2.1, GCC 2.7.2.1, HP CPP 10.24
  7. // Produced By: Doug Gaer 
  8. // File Creation Date: 12/16/1997 
  9. // Date Last Modified: 03/30/1999
  10. // Copyright (c) 1997 Douglas M. Gaer
  11. // ----------------------------------------------------------- // 
  12. // ---------- Include File Description and Details  ---------- // 
  13. // ----------------------------------------------------------- // 
  14. /*
  15. The VBD C++ classes are copyright (c) 1997, by Douglas M. Gaer.
  16. All those who put this code or its derivatives in a commercial
  17. product MUST mention this copyright in their documentation for
  18. users of the products in which this code or its derivative
  19. classes are used. Otherwise, you have the freedom to redistribute
  20. verbatim copies of this source code, adapt it to your specific
  21. needs, or improve the code and release your improvements to the
  22. public provided that the modified files carry prominent notices
  23. stating that you changed the files and the date of any change.
  24.  
  25. THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
  26. THE ENTIRE RISK OF THE QUALITY AND PERFORMANCE OF THIS SOFTWARE
  27. IS WITH YOU. SHOULD ANY ELEMENT OF THIS SOFTWARE PROVE DEFECTIVE,
  28. YOU WILL ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
  29. CORRECTION.
  30.  
  31. General string utility functions use to manipulate and parse
  32. null-terminated character strings.
  33.  
  34. Changes:
  35. ================================================================
  36. 11/12/1998 - Added the FindMatch() string searching function to
  37. find matching patterns in strings.
  38.  
  39. 11/12/1998: - Added the IFindMatch() string searching function to
  40. find matching patterns in strings without comparing the case.
  41. */
  42. // ----------------------------------------------------------- //   
  43. #ifndef __STRUTIL_HPP
  44. #define __STRUTIL_HPP
  45.  
  46. // Set this macro DOS and Windows applications
  47. // #ifndef __DOS__
  48. // #define __DOS__
  49. // #endif 
  50.  
  51. // Set this macro Generic Unix applications
  52. // #ifndef __UNIX__
  53. // #define __UNIX__
  54. // #endif 
  55.  
  56. // String concatenation routines
  57. char *StringCat(const char *s1=" ", const char *s2= " ", const char *s3=" ");
  58. char *StringCat(char *s1=" ", char *s2= " ", char *s3=" ");
  59.  
  60. // General purpose string parser 
  61. const int MAXWORDLENGTH = 255;
  62. const int MAXWORDS = 255;
  63.  
  64. int parse(char *string, char words[MAXWORDS][MAXWORDLENGTH],
  65.       int*numwords, char sepchar);
  66.  
  67. // Case insensitive string compare that need to be ported from UNIX to DOS  
  68. int CaseICmp(const char *s1, const char *s2);
  69. int CaseICmp(char *s1, char *s2);
  70.  
  71. // String searching functions
  72. const int NOMATCH = -1;
  73. int FindMatch(const char *str, const char *p, unsigned offset = 0);
  74. int FindMatch(char *str, char *p, unsigned offset = 0);
  75. int IFindMatch(const char *str, const char *p, unsigned offset = 0);
  76. int IFindMatch(char *str, char *p, unsigned offset = 0);
  77.  
  78. #endif  // __MAIN_HPP //
  79. // ----------------------------------------------------------- // 
  80. // ------------------------------- //
  81. // --------- End of File --------- //
  82. // ------------------------------- //
  83.